Dynamically depicting interactions in a virtual world based on varied user rights

ABSTRACT

Embodiments of the invention generally manage dynamically depicting interactions in a virtual world. Embodiments of the invention may receive one or more content restrictions associated with a first user of a virtual world, and may analyze the activity history of a second user in the virtual world. Embodiments of the invention may then determine what, if any, interactions should be permitted between the first user and the second user in the virtual world.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims benefit of U.S. provisional patent applicationSer. No. 61/239,615, filed Sep. 3, 2009, which is herein incorporated byreference in its entirety.

BACKGROUND

Embodiments of the invention relate to managing interactions betweenusers in a virtual world.

A virtual world is a simulated environment which may be inhabited byusers. The users may interact with virtual objects and locationsthroughout the virtual world. Users may also interact with one anothervia avatars. An avatar generally provides a graphical representation ofan individual within the virtual world environment. Avatars are usuallypresented to other users as two or three-dimensional graphicalrepresentations that resemble a human individual. Frequently, virtualworlds allow multiple users to enter the virtual environment andinteract with one another.

Virtual worlds are said to provide an immersive environment, as theytypically appear similar to the real world. Virtual environments,complete with avatars and virtual items, are typically presented asimages on a display screen. Furthermore, objects in the virtual worldtend to follow rules related to gravity, topography, locomotion, physicsand kinematics. Of course, virtual worlds can suspend or alter theserules as well as provide other imaginative or fanciful environments.Additionally, current techniques exist for creating content restrictionsfor online interactions (e.g., a language filter that masks any vulgarwords). However, such content restrictions are often rigid andill-suited for use in increasingly dynamic and diverse virtual worlds.

SUMMARY

Embodiments of the invention provide a computer-implemented method,system and computer program product for dynamically depictinginteractions in a virtual world. The computer-implemented method, systemand computer program product include receiving one or more contentrestrictions associated with a first user of the virtual world.Additionally, the computer-implemented method, system and computerprogram product include analyzing an activity history for a second userin the virtual world. The computer-implemented method, system andcomputer program product further include selectively blockinginteractions between the first user and the second user in the virtualworld, based at least in part on the received content restrictions forthe first user and the analyzed activity history for the second user,and by operation of one or more computer processors.

BRIEF DESCRIPTION OF THE DRAWINGS

So that the manner in which the above recited aspects are attained andcan be understood in detail, a more particular description ofembodiments of the invention, briefly summarized above, may be had byreference to the appended drawings.

It is to be noted, however, that the appended drawings illustrate onlytypical embodiments of this invention and are therefore not to beconsidered limiting of its scope, for the invention may admit to otherequally effective embodiments.

FIGS. 1A-1B are block diagrams of a networked computer system configuredto manage interactions in a virtual world, according to embodiments ofthe invention.

FIGS. 2A-2C are exemplary screenshots of interactions in a virtualworld, according to embodiments of the invention.

FIG. 3 is a flow diagram illustrating a method of generating a profilefor a user, according to one embodiment of the invention.

FIG. 4 is a flow diagram illustrating a method of managing interactionsin a virtual world, according to one embodiment of the invention.

DETAILED DESCRIPTION

Embodiments of the invention generally restrict user interactions in avirtual world based on one or more content restrictions associated witha user. More particularly, embodiments of the invention may receive oneor more content restrictions associated with a first user of a virtualworld, and may further analyze the activity history of a second user inthe virtual world. The activity history may include the behavior of thesecond user in the virtual world, locations in the virtual world visitedby the second user, and/or content viewed by the second user in thevirtual world. Embodiments of the invention may then determine what, ifany, interactions are permitted between the first user and the seconduser in the virtual world, based on the content restrictions associatedwith the first user and the activity history of the second user.

In the following, reference is made to embodiments of the invention.However, it should be understood that the invention is not limited tospecific described embodiments. Instead, any combination of thefollowing features and elements, whether related to differentembodiments or not, is contemplated to implement and practice theinvention. Furthermore, although embodiments of the invention mayachieve advantages over other possible solutions and/or over the priorart, whether or not a particular advantage is achieved by a givenembodiment is not limiting of the invention. Thus, the followingaspects, features, embodiments and advantages are merely illustrativeand are not considered elements or limitations of the appended claimsexcept where explicitly recited in a claim(s). Likewise, reference to“the invention” shall not be construed as a generalization of anyinventive subject matter disclosed herein and shall not be considered tobe an element or limitation of the appended claims except whereexplicitly recited in a claim(s).

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

Aspects of the present invention are described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

Embodiments of the invention may be provided to end users through acloud computing infrastructure. Cloud computing generally refers to theprovision of scalable computing resources as a service over a network.More formally, cloud computing may be defined as a computing capabilitythat provides an abstraction between the computing resource and itsunderlying technical architecture (e.g., servers, storage, networks),enabling convenient, on-demand network access to a shared pool ofconfigurable computing resources that can be rapidly provisioned andreleased with minimal management effort or service provider interaction.Thus, cloud computing allows a user to access virtual computingresources (e.g., storage, data, applications, and even completevirtualized computing systems) in “the cloud,” without regard for theunderlying physical systems (or locations of those systems) used toprovide the computing resources.

Typically, cloud computing resources are provided to a user on apay-per-use basis, where users are charged only for the computingresources actually used (e.g. an amount of storage space consumed by auser or a number of virtualized systems instantiated by the user). Auser can access any of the resources that reside in the cloud at anytime, and from anywhere across the Internet. In context of the presentinvention, a user may access applications (e.g., the virtual world) orrelated data available in the cloud. For example, the virtual worldserver application could execute on a computing system in the cloud andaccept requests from users to access the virtual world. In such a case,the virtual world server application could receive one or more contentrestrictions for a first user of the virtual world and store the contentrestrictions at a storage location in the cloud. The virtual worldserver application could then manage interactions between the first userand other users of the virtual world based on the content restrictionsand profiles generated for the other users. Doing so allows a user tosafely interact and communicate with other users in the virtual worldfrom any computing system attached to a network connected to the cloud(e.g., the Internet).

Referring now to FIGS. 1A-1B, FIGS. 1A-1B are block diagrams of anetworked computer system configured to manage interactions in a virtualworld, according to embodiments of the invention. More specifically,FIG. 1A is a block diagram of a networked system configured to manageinteractions in a virtual world, according to one embodiment of theinvention. As shown, the system 100 includes three client systems 120, anetwork 140, and a virtual world system 160. The client systems 120 mayinclude a virtual world client application and the virtual world system160 may include a virtual world server application. The virtual worldclient on the client system 120 may connect to the virtual world serveron the virtual world system 160 using the network 140. Upon establishinga connection, the client may display a visual representation of thevirtual world, including any avatars, items and any interactionstherebetween occurring in the virtual world.

Generally, once connected to the virtual world server, users of theclient systems 120 may interact with each other in the virtual world.For example, a first user of client system 120 ₁ and a second user ofclient system 120 ₂ may interact through their respective avatars in thevirtual world. Such an interaction may include a communication betweenthe two users (e.g., a textual or voice chat message). As anotherexample, an exemplary interaction may be performing an activity togetherin the virtual world (e.g., fighting a virtual monster together).Continuing the example, the users of client systems 120 ₁ and 120 ₂ maybe joined by a third user connecting to the virtual world server usingclient system 120 ₃. Although these examples (and other examplesincluded herein) include two or three users, one of ordinary skill inthe art will quickly recognize that these examples are for illustrativepurposes only, and embodiments of the invention may extend to any numberof users interacting in a virtual world.

While interacting with other users and virtual objects in the virtualworld, users may wish to not be exposed to certain content of thevirtual world. For example, a user may wish not to see any languagedeemed vulgar while interacting with other users in the virtual world.As a second example, a fifteen year old user of the virtual world maywish to only interact with other users in the virtual world who are 16years old or younger. As yet another example, a user of the virtualworld may wish to only see content in the virtual world that is ratedPG-13 or lower. For each of these examples, a content restriction may becreated in order to restrict the content that the user may view andinteract with in the virtual world. Additionally, each user of thevirtual world may be associated with one or more content restrictions. Auser may create a content restriction for himself (e.g., if the userdoes not wish to see or hear any vulgar language while interacting inthe virtual world). Alternatively, a person of authority for the user(e.g., the user's parents) may create the content restriction for theuser.

Once the content restriction is created and associated with a user, acontent manager on the virtual world system may limit what content ofthe virtual world will be displayed for the user. As an example, thecontent manager may restrict what areas of the virtual world the usermay travel to (e.g., using an avatar). Additionally, the content managermay associate a rating with each user of the virtual world. For purposesof this example, assume the content manager uses ratings “G”, “PG-13”and “R”, where “G” is the most permissive rating, while “R” is the mostrestrictive (i.e., adult-only content) rating. The rating associatedwith a user may be based generally on the user's conduct in the virtualworld. For example, if a particular user frequents adult-only areas ofthe virtual world, the content manager may associate the user with an Rrating. Exemplary factors that may influence a user's rating include,without limitation, what actions the user performs in the virtual world,whether the user uses vulgar language in the virtual world, and otherusers the user associates with in the virtual world. Furthermore,although certain embodiments of the invention are described herein usingthe ratings “G”, “PG”, “PG-13” and “R”, these ratings are used forillustrative purposes only. Of course, one of ordinary skill in the artwill quickly realize that such an example is without limitation, andthat generally any rating system capable of performing the functionsdescribed herein may be used instead.

According to embodiments of the invention, if a first user of thevirtual world is associated with a content restriction that prohibitsany R-rated content, the content manager may block any interactions inthe virtual world between the first user and any other users with an Rrating. Furthermore, the content manager may prevent the first user fromseeing an R-rated user's avatar in the virtual world, and may likewiseprevent the R-rated user from seeing the first user's avatar in thevirtual world. In this way, embodiments of the invention not onlyprevent the first user from viewing any R-rated content in the virtualworld, but also prevent any users associated with an R-rating from evenseeing the first user, thus preventing interaction (either directly orindirectly) between the two users.

FIG. 1B is a block diagram of a networked system configured to manageinteractions in a virtual world, according to one embodiment of theinvention. As shown, the system 110 includes a client system 120 and avirtual world system 160, both connected to the network 140. The clientsystem 120 contains a computer processor 122, storage media 124, I/Odevices 126, memory 128 and a network interface 134. Computer processor122 may be any processor capable of performing the functions describedherein. I/O devices 126 may represent a variety of input and outputdevices, including keyboards, mice, visual displays, printers and so on.The client system 120 may connect to the network 140 using the networkinterface 134. Furthermore, as will be understood by one of ordinaryskill in the art, any computer system capable of performing thefunctions described herein may be used. Furthermore, although thedepicted embodiment only a single client system connecting to thevirtual world 160 via the network 140, such a depiction is forillustrative purposes only, and one of ordinary skill in the art willquickly recognize that any number of client systems 120 may connect toany number of virtual world systems 160.

In the pictured embodiment, memory 128 contains a virtual world client130. Although memory 128 is shown as a single entity, memory 128 mayinclude one or more memory devices having blocks of memory associatedwith physical addresses, such as random access memory (RAM), read onlymemory (ROM), flash memory or other types of volatile and/ornon-volatile memory. The virtual world client 130 may generally connectto a virtual world server. Once connected to the server, the virtualworld client 130 may output a representation of the virtual world fordisplay (e.g., using an I/O device 126, such as a monitor). In oneembodiment of the invention, the memory 128 of the client system 120also contains one or more content restrictions (similar to contentrestrictions 176) regulating a user's interactions in the virtual world.

The virtual world system 160 contains a computer processor 162, storagemedia 164, memory 166 and a network interface 180. Computer processor162 may be any processor capable of performing the functions describedherein. The virtual world system 160 may connect to the network 140using the network interface 180. Furthermore, as will be understood byone of ordinary skill in the art, any computer system capable ofperforming the functions described herein may be used. Additionally,although memory 166 is shown as a single entity, memory 128 may includeone or more memory devices having blocks of memory associated withphysical addresses, such as random access memory (RAM), read only memory(ROM), flash memory or other types of volatile and/or non-volatilememory.

In the pictured embodiment, memory 166 contains a virtual world serverapplication 168. The server application 168 contains a content manager170, avatars 172, user profiles 174, content restrictions 176 and avirtual world 178. The avatars 172 generally represent a user's personain the virtual world. While avatars 172 are often created to take ahumanoid shape, this is not always the case. The avatars 172 may becreated in any shape or form capable of performing the functionsdescribed herein. Furthermore, although the avatars 172, user profiles174, content restrictions 176 and virtual world 178 are shown ascontained in memory 166, they may reside elsewhere on the virtual worldsystem 160 (e.g., storage media 164) or on another system.

Each user profile 174 may generally specify a content rating for a userof the virtual world server application 168. As discussed above, auser's content rating may be influenced by, for example, the user's useof vulgar language in the virtual world, the locations in the virtualworld the user frequents, and which other users the user associates within the virtual world. Additionally, as discussed above, the contentrestrictions 176 may specify prohibited content for a user of thevirtual world server application 168.

Generally, the virtual world server application 168 may manage thevirtual world 178. For example, the virtual world server application 168may accept a connection from a user (e.g., using network 140 and networkinterface 180). The virtual world server application 168 may associatethe user with an avatar 172 (e.g., based on the user's authenticationcredentials). For example, upon logging into an account with the virtualworld server application 168 through the virtual world client 130, theuser may be associated with an avatar 172 based on the user's accountinformation. In another embodiment, the avatar 172 for the user may bereceived from the user's virtual world client 130. In yet anotherembodiment, the user may create the avatar 172 upon connecting to theserver application 168 through the client 130.

Once the connection is established, the user's virtual world client 130may display a representation of the virtual world 178 (e.g., using anI/O device 126, such as a monitor). The representation may be influencedby the user's avatar's 172 current location in the virtual world 178.Such a representation may include the terrain of the virtual world 178,as well as any virtual items and other avatars 172 existing in thevirtual world 178. For example, if the user's avatar and a second avatarare in the same location in the virtual world 178, the virtual worldclient 130 may display the second avatar to the user.

FIGS. 2A-2C are exemplary screenshots of interactions in a virtualworld, according to embodiments of the invention. Generally, theexemplary screenshots shown in FIGS. 2A-2C depict the virtual world fromthe point of view of three different users. For purposes of thisexample, assume that the content manager 170 uses a rating system thatrates content as either “G”, “PG”, “PG-13” or “R”, with G being the mostpermissive content rating and R being a restrictive, adult-only contentrating. As discussed above, a user's rating may be influenced by, forexample, locations in the virtual world the user frequents, whether theuser uses any vulgar language in the virtual world, activities in thevirtual world the user takes part in, and other users the userassociates with in the virtual world. Additionally, assume that the userJoe has a rating of PG, Sally has a rating of PG-13, and Fred has arating of R. Furthermore, in the depicted examples, assume that the userJoe is associated with a content restriction that prevents him frominteracting with any users in the virtual world that have an R rating.In one embodiment of the invention, such a content restriction may becreated by Joe himself. In another embodiment, the content restrictionmay be created by someone with supervisory authority for Joe (e.g.,Joe's parents). In yet another embodiment, the content restriction maybe a default setting of the virtual world client 130 that the user mustactively disable in order to view R-rated content.

As shown, FIG. 2A shows three exemplary screenshots of a virtual worldfrom three different points of view, according to one embodiment of theinvention. More particularly, the FIG. 2A shows the virtual world 178from three different perspectives: the user Joe's point of view 200, theuser Sally's point of view 202 and the user Fred's point of view 204.The scene depicted in each of the screenshots 200, 202 and 204 includesthe avatars of users Joe, Sally and Fred standing in close proximity toeach other and to several virtual objects in the virtual world. In thisexample, each user's point of view represents how they would view thevirtual world 178 (e.g., using the virtual world client 130).

As shown, in the screenshot 200 showing the virtual world 178 from Joe'spoint of view, the scene contains Joe's avatar 206, Sally's avatar 208and two virtual objects 212 ₁ and 212 ₂ in the virtual world. Here,because the content restriction 176 associated with Joe allows him toonly see content in the virtual world that has a G, PG or PG-13 rating,Joe is only able to see his own avatar 206 and Sally's avatar 208. Thus,generally, the content restriction associated with Joe only allows Joeto interact with content that has a restriction rating equal to or lowerthan the specified rating (i.e., in this example, PG-13). As such, Joewill not be able to see Fred's avatar because of Fred's R rating.Furthermore, because of the content restriction, Joe is only able to seethe virtual objects that meet the requirements of the contentrestriction. As such, when Joe views the virtual world in this example,he will only see the objects 212 ₁ and 212 ₂, which the content manager170 has rated PG. Thus, although there are other objects (e.g., R-ratedobject 212 ₃) and avatars (e.g., Fred's avatar 210) present in thevirtual world at the depicted location, these objects and avatars arenot visible when the virtual world is shown from Joe's point of viewbecause they are prohibited by Joe's content restriction.

In another embodiment of the invention, rather than not seeing Fred'savatar in the virtual world, the content manager 170 may replace Fred'savatar with a censored version of the avatar, when the virtual world isviewed from Joe's perspective. For example, the content manager 170 mayrestrict all communication and interaction between Fred and Joe, and mayreplace Fred's avatar with a default avatar. Continuing this example,the content manager 170 may prevent Joe from seeing any actionsperformed by the default avatar, but would only know that some sort ofblocked content was present. Such an embodiment is advantageous, forexample, in a virtual world that enforces collision detection betweenavatars. In such a virtual world, if avatars were present but notdisplayed because of a content restriction, users may experienceinvisible objects in the virtual world due to the collision detection.In an alternate embodiment, the content manager 170 may disablecollision detection in the virtual world for users that are disalloweddue to a content restriction. Thus, in this alternate embodiment, thecontent manager 170 may prevent users from viewing disallowed content,and users would not be faced with the situation where their avatarscollide with the invisible avatars of disallowed users.

The screenshot 202 shows the same scene in the virtual world fromSally's point of view. As discussed above, in this example Sally israted PG-13 and is not associated with any content restriction. Thus,because Sally does not violate anyone else's content restriction, and noone else violates a content restriction associated with Sally, thescreenshot 200 shows all three avatars 206, 208 and 210 in the virtualscene, as well as every object 212 in the virtual scene. That is, incontrast to the screenshot 202, Sally is able to view the R-ratedcontent of the virtual scene, including the object 212 ₃ and Fred'savatar 210.

The screenshot 204 shows yet another point of view of the same virtualscene, and more particularly, shows the virtual scene from the userFred's point of view. Here, Fred is not associated with any contentrestriction, and thus is able to view all three objects 212 in thescene, including the R-rated object 212 ₃. However, because the contentmanager 170 has assigned Fred an R-rating, Fred's avatar violates thecontent restriction associated with user Joe. As such, just as thecontent manager 170 prevented Joe from seeing Fred's avatar 210, thecontent manager 170 likewise prevents Fred from seeing Joe's avatar 206.

Advantageously, embodiments of the invention may enforce contentrestrictions by not only preventing the first user associated with thecontent restriction (e.g., Joe) from viewing prohibited content (e.g.,R-rated avatars and objects in the virtual world), but may also preventany users that violate the content restriction (e.g., Fred) from viewingthe first user. This is advantageous, because if the prohibited user(e.g., Fred) could still see the first user (e.g., Joe), it may bepossible for the prohibited user to still interact with the first user.By ensuring that the users who violate the content restriction cannoteven view the first user, embodiments of the invention minimize anypotential interactions between the first user and prohibited users,which may in turn provide better protection and an improved experiencein the virtual world for the first user.

FIG. 2B shows three exemplary screenshots of a virtual world from threedifferent points of view, according to one embodiment of the invention.More particularly, the FIG. 2A shows the virtual world 178 from threedifferent perspectives: the user Joe's point of view 200, the userSally's point of view 202 and the user Fred's point of view 204. Thescene depicted in each of the screenshots 220, 222 and 224 includes theavatars of users Joe, Sally and Fred standing in close proximity to eachother and to several virtual objects in the virtual world. Morespecifically, the scene depicts Sally's avatar having some sort ofinteraction with Fred's avatar. In this example, each user's point ofview represents how they would view the virtual world 178 (e.g., usingthe virtual world client 130).

The screenshot 220 shows the virtual scene from the user Joe's point ofview. The screenshot 220 includes Joe's avatar 226, Sally's avatar 232performing a bot animation and two virtual objects 212 ₁ and 212 ₂ inthe virtual world. Here, similar to the discussion related to FIG. 4A,because the content restriction 176 associated with Joe allows him toonly see content in the virtual world that has a PG or PG-13 rating, Joeis only able to see his own avatar 206 and Sally's avatar 208.Furthermore, because of the content restriction, Joe is only able to seethe virtual objects that meet the requirements of the contentrestriction. As such, when Joe views the virtual world in this example,he will only see the objects 212 ₁ and 212 ₂, which the content manager170 has rated PG. Thus, although there are other objects (e.g., R-ratedobject 212 ₃) and avatars (e.g., Fred's avatar 210) present in thevirtual world at the depicted location, these objects and avatars arenot visible when the virtual world is shown from Joe's point of viewbecause they are prohibited by Joe's content restriction.

Generally as used herein, a bot or bot script refers to a series ofactions to automate an avatar in a virtual world. The actions performedby the bot script may be general actions (e.g., sitting down after aperiod of inactivity), or may be specifically related to the avatar'scurrent surroundings in the virtual world. In one embodiment of theinvention, the bot script may be automatically invoked in certainsituations. Thus, for example, a user may wish to use a bot script tomake her avatar dance when she's busy in a night club, and anotherscript to make her eat or drink when she's busy in a restaurant, andstill yet another script to show her talking on a virtual cell phone asshe's walking down the street in the virtual world. Additionally, a usermay create a bot script to have her avatar portray certain facialexpressions or emotions when encountering other particular users in thevirtual world. Thus, for example, the user Sally may create a bot scriptto have her avatar automatically smile and wave when encountering Joe'savatar.

Thus, when a first user (e.g., Joe) is viewing an avatar that isinteracting with a prohibited avatar, rather than showing the avatarinteracting with nothing, embodiments of the invention may be configuredto show the avatar performing actions according to a bot script. Thus,returning to the current example, when Joe views Sally's avatar 232(who, in this example, is interacting with the prohibited user Fred'savatar), Joe will see Sally's avatar 232 performing one or more actionsaccording to Sally's bot script. Thus, if the depicted scene in thevirtual world is a nightclub, Joe may view Sally's avatar 232 as dancingon a virtual dance floor while Sally is interacting with Fred's avatar.Once Sally finishes interacting with the disallowed user Fred, thecontent manager 170 may stop the bot script, at which point Sally'savatar will be available for Joe to interact with. In one embodiment ofthe invention, the content manager 170 is configured to stop the actionsspecified in the bot script gradually after a specified time. Thus, forexample, Joe may see Sally's avatar continue dancing according to herbot script until the current song being played in the virtual nightclubends, and then see Sally's avatar gradually walk off the dance floor.

The screenshot 222 shows the same virtual scene from Sally's point ofview. As discussed above, in this example Sally is rated PG-13 and isnot associated with any content restriction. Thus, because Sally doesnot violate anyone else's content restriction, and no one else violatesa content restriction associated with Sally, the screenshot 222 showsall three avatars 226, 228 and 230 in the virtual scene, as well asevery object 212 in the virtual scene. That is, in contrast to thescreenshot 220, Sally is able to view the R-rated content of the virtualscene, including the object 212 ₃ and Fred's avatar 230. Thus, in thedepicted example, Sally sees her avatar 228 and Fred's avatar 230interacting, with no bot scripts being invoked.

The screenshot 224 shows yet another point of view of the same virtualscene, and more particularly, shows the virtual scene from the userFred's point of view. Here, Fred is not associated with any contentrestriction, and thus is able to view all three objects 212 in thescene, including the R-rated object 212 ₃. However, because the contentmanager 170 has assigned Fred an R-rating, Fred's avatar violates thecontent restriction associated with user Joe. As such, just as thecontent manager 170 prevented Joe from seeing Fred's avatar 230, thecontent manager 170 likewise prevents Fred from seeing Joe's avatar 226.Thus, in the depicted example, Fred sees his avatar 230 and Sally'savatar 228 interacting, with no bot scripts being invoked.

FIG. 2C shows three exemplary screenshots of a virtual world from threedifferent points of view, according to one embodiment of the invention.Similar to FIGS. 2A and 2B, the FIG. 2C shows the virtual world 178 fromthree different perspectives: the user Joe's point of view 240, the userSally's point of view 242 and the user Fred's point of view 244. Thescene depicted in each of the screenshots 240, 242 and 244 includes theavatars of users Joe, Sally and Fred standing in close proximity to eachother and to several virtual objects in the virtual world. Morespecifically, the scene depicts Sally's avatar having some sort ofinteraction with Fred's avatar. In this example, each user's point ofview represents how they would view the virtual world 178 (e.g., usingthe virtual world client 130).

The screenshot 240 shows the virtual scene from the user Joe's point ofview. The screenshot 240 includes Joe's avatar 246, Sally's avatar 248encapsulated by a ghost box 252, and two virtual objects 212 ₁ and 212 ₂in the virtual world. Here, similar to the discussion related to FIGS.4A and 4B, because the content restriction 176 associated with Joeallows him to only see content in the virtual world that has a PG orPG-13 rating, Joe is only able to see his own avatar 246 and Sally'savatar 248. Furthermore, because of the content restriction, Joe is onlyable to see the virtual objects that meet the requirements of thecontent restriction. As such, when Joe views the virtual world in thisexample, he will only see the objects 212 ₁ and 212 ₂, which the contentmanager 170 has rated PG. Thus, although there are other objects (e.g.,R-rated object 212 ₃) and avatars (e.g., Fred's avatar 250) present inthe virtual world at the depicted location, these objects and avatarsare not visible when the virtual world is shown from Joe's point of viewbecause they are prohibited by Joe's content restriction.

As used herein, a ghost box 252 refers to a container in a virtual worldthat may encapsulate one or more avatars. While in one embodiment theghost box 252 is represented by a cube-shaped object in the virtualworld, of course other shapes may be used instead. Generally, when avisible avatar is interacting with a disallowed avatar or object,embodiments of the invention may be configured to display the visibleavatar inside a ghost box 252 to indicate that the visible avatar isinteracting with undisplayable content. In the current example, when thescene is viewed from Joe's point of view (as in screenshot 240), becauseSally is interacting with Fred (i.e., a disallowed user because of hisR-rating), Joe will see Sally's avatar 248 encapsulated by a ghost box252, but will not see any actions being performed by Sally's avatar orwho her avatar is interacting with.

Furthermore, while the ghost box 252 may show the outlines of variousother avatars as well, embodiments of the invention may be configured toonly display the outlines of these avatars and not any details aboutthem (e.g., the look of their avatar, their current actions, their namein the virtual world, etc.). Furthermore, the ghost box 252 may bedisplayed as always showing a fixed number of outlines of other avatars,regardless of the number of avatars actually interacting with eachother. Thus, in the current example, although the ghost box 252 showsSally's avatar 248 and the outlines of 5 other avatars, Sally isactually only interacting with one prohibited avatar (e.g., Fred). Inone embodiment of the invention, Sally's avatar 248 in the ghost box 252may be displayed (according to Joe's point of view) as performing one ormore actions specified by Sally's bot script. Once Sally finishesinteracting with the disallowed user Fred, the content manager 170 mayremove the ghost box 252 from around Sally's avatar 248, at which pointSally's avatar will be available for Joe to interact with.

The screenshot 222 shows the same virtual scene from Sally's point ofview. As discussed above, in this example Sally is rated PG-13 and isnot associated with any content restriction. Thus, because Sally doesnot violate anyone else's content restriction, and no one else violatesa content restriction associated with Sally, the screenshot 242 showsall three avatars 246, 248 and 250 in the virtual scene, as well asevery object 212 in the virtual scene. That is, in contrast to thescreenshot 240, Sally is able to view the R-rated content of the virtualscene, including the object 212 ₃ and Fred's avatar 250. Thus, in thedepicted example, Sally sees her avatar 248 and Fred's avatar 250interacting, with no ghost boxes 252 surrounding them, and no botscripts being invoked.

The screenshot 244 shows yet another point of view of the same virtualscene, and more particularly, shows the virtual scene from the userFred's point of view. Here, Fred is not associated with any contentrestriction, and thus is able to view all three objects 212 in thescene, including the R-rated object 212 ₃. However, because the contentmanager 170 has assigned Fred an R-rating, Fred's avatar violates thecontent restriction associated with user Joe. As such, just as thecontent manager 170 prevented Joe from seeing Fred's avatar 250, thecontent manager 170 likewise prevents Fred from seeing Joe's avatar 246.Thus, in the depicted example, Fred sees his avatar 250 and Sally'savatar 248 interacting, with no ghost boxes 252 surrounding them, and nobot scripts being invoked.

FIG. 3 is a flow diagram illustrating a method of generating a profilefor a user, according to one embodiment of the invention. As shown, themethod 300 begins at step 320, where the content manager 170 determinesthe recent activity of a first user of the virtual world. The contentmanger 170 then determines which other users of the virtual world thefirst user has interacted with, and further determines a user rating foreach of these other users (step 322). In one embodiment of theinvention, the content manager 170 determines which other users thefirst user has interacted with in the virtual world within a specifiedperiod of time. For example, the content manager 170 may look only atinteractions that took place in the virtual world within the last 90days.

According to one embodiment of the invention, the content manger 170 mayfurther evaluate interactions between users to identify interactiontrends between users of the virtual world. Upon identifying aninteraction trend, the content manager 170 may then notify users (ortheir parents) of potential concerns. For example, if a user Sally, whothe content manager has assigned a content rating of PG-13, has beenspending a lot of time with the user Fred, who has a content rating ofR, the content manager 170 may identify this as an interaction trend.Furthermore, assume that a third user Joe has a rating of PG and isassociated with a content restriction prohibiting him from interactingwith any R-rated content. If Joe then interacts with Sally, the contentmanager 170 may notify Joe's parents of the identified trend involvingSally frequently interacting with R-rated users, even though Sally'spersonal content rating does not violate the content restriction.Furthermore, in one embodiment of the invention, the content manager 170may determine that Sally herself should be assigned an R content rating,because of her frequent interaction with R-rated users in the virtualworld.

The content manger 170 then determines whether the first user has usedany vulgar language in the virtual world (step 324). In one embodimentof the invention, the content manager 170 determines whether the firstuser has used any vulgar language within a period of time (e.g., past 90days). In another embodiment of the invention, the content manager 170further determines a severity of the first user's use of vulgarlanguage. The severity may be based on an amount of vulgar language usedby the first user. Additionally, the severity may be based on whichvulgar words the first user used in the virtual world (i.e., some wordsmay be construed as “worse” than other words).

The content manager 170 then determines which locations the first userhas visited in the virtual world (step 326). That is, according to oneembodiment of the invention, different areas of the virtual world 178may be associated with different content ratings. For example, thecontent manager 170 may determine that a particular virtual nightclub isassociated with an R content rating, but may determine that a virtualpark is associated with a PG content rating. The content manager 170 mayfurther use these location ratings to determine a rating for a user'savatar in the virtual world. For example, if the user Fred frequentlyvisits the R-rated nightclub, the content manager 170 may associateFred's avatar with an R-rating. Of course, such a determination may bemade based on any number of other factors as well, what the user does atthe location, including how frequently a user visits the particularlocation, how recently the user has visited the location, and so on.

Once the content manager 170 determines which locations the first userhas visited, the content manger 170 generates a user profile for thefirst user (step 328). In the depicted example, the user profile may bebased on all of the information determined in steps 320-326. Of course,one of ordinary skill in the art will quickly realize that othercombinations of these factors, as well as other related factors may beused instead. Generally, embodiments of the invention may look at anyaction associated with a user to determine a content rating for theuser. For example, in generating a content rating for a user,embodiments of the invention may determine whether the user has viewedor contributed any obscene or adult-oriented media (e.g., images,videos, etc.) in the virtual world. The content manger 170 may then usethe generated profile to assign a content rating to the users of thevirtual world system 160.

FIG. 4 is a flow diagram illustrating a method of managing interactionsin a virtual world, according to one embodiment of the invention. Asshown, the method 400 begins at step 420, where the content manager 170retrieves content restrictions associated with a first user of thevirtual world. Once the content restrictions for the first user areretrieved, the content manager 170 generates a profile for the seconduser of the virtual world (step 422). In one embodiment of theinvention, the profile is generated using the method 300 discussedabove. Of course, one of ordinary skill in the art will recognize thatany method of generating a profile having the characteristics describedherein may be used instead.

Once the profile is generated, the content manger 170 determines whetherinteraction between the first user and the second user is acceptable,based on the content restrictions 176 associated with the first user andthe profile generated for the second user (step 424). As an example,assume that the content manager assigns content in the virtual world a“G”, “PG”, “PG-13” or “R” rating. Furthermore, assume that a first useris associated with a content restriction 176 prohibiting all PG-13 andR-rated content. Thus, in this example, if the content manager 170determines that, based on a profile generated for a second user, thatthe second user has an R rating, the content manager 170 may determinethat interaction between the first user and the second user isunacceptable, because such interaction would violate the contentrestriction 176 associated with the first user.

As a second example, assume that the content manager assigns content inthe virtual world a rating of 1 to 10, where 1 is the most generallyacceptable content, and 10 is the most adult-oriented content.Furthermore, assume that a first user of the virtual world is associatedwith a content restriction 176 prohibiting all content rated 5 orhigher. If the content manager 170 determines that the second user,based on a profile generated for the second user, has a content ratingof 4, the content manager 170 may then determine that interactionbetween the first user and the second user is acceptable. That is, thecontent manger 170 may determine the interaction is acceptable in thisexample, because interaction between the first user and a user with arating of 4 would not violate the content restriction 176 (i.e.,interactions with content rated 5 or higher are prohibited).

If the content manager 170 determines the interaction is acceptable, thecontent manager 170 allows interaction to take place between the firstuser and the second user in the virtual world (step 428). If instead thecontent manager 170 determines the interaction between the first userand the second user is unacceptable, the content manager 170 selectivelyblocks content associated with the second user on the first user'sclient, and vice versa (step 426). Once the content is blocked, or oncethe interaction takes place between the first user and the second user,the method 400 ends.

As discussed above, in addition to blocking interactions between thefirst user and the second user, the content manager 170 may also displayusers interacting with a disallowed user in different ways. For example,in one embodiment of the invention, the content manager 170 may displaythe allowed user performing actions according to a bot script, while theallowed user is interacting with a disallowed user. As a second example,in a second embodiment of the invention, the content manger 170 maydisplay the allowed user encapsulated by a ghost box while the alloweduser is interacting with the disallowed user. In this way, thedisallowed user is not only hidden from the first user (and vice versa),but interactions between the disallowed user and other allowed users maybe handled in a way that improves the feel of the virtual world. Thatis, rather than showing an allowed user interacting with a hidden party(i.e., the disallowed user) in the virtual world, which may be confusingto the first user, embodiments of the invention may improve the look andfeeling of the virtual by showing the allowed user performing acontextually appropriate action instead (e.g., an action specified inthe allowed user's bot script).

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

While the foregoing is directed to embodiments of the present invention,other and further embodiments of the invention may be devised withoutdeparting from the basic scope thereof, and the scope thereof isdetermined by the claims that follow.

1. A computer-implemented method for dynamically depicting interactionsin a virtual world, comprising: receiving one or more contentrestrictions associated with a first user of the virtual world;analyzing an activity history for a second user in the virtual world;and selectively blocking interactions between the first user and thesecond user in the virtual world, based at least in part on the receivedcontent restrictions for the first user and the analyzed activityhistory for the second user, and by operation of one or more computerprocessors.
 2. The method of claim 1, wherein analyzing the activityhistory comprises assigning a content rating to one or more activitiesin the activity history.
 3. The method of claim 1, further comprisingselectively displaying objects to the first user based at least in parton a comparison between the one or more content restrictions associatedwith the first user and the activity profile associated with the seconduser.
 4. The method of claim 3, further comprising selectivelydisplaying objects to the second user based at least in part on acomparison between the one or more content restrictions associated withthe first user and the activity profile associated with the second user.5. The method of claim 4, further comprising: detecting that a thirduser is interacting with the virtual world in a manner inconsistent withthe one or more content restrictions associated with the first user; andassociating a busy indicator with the third user.
 6. The method of claim5, further comprising associating a bot script with the third user,wherein the bot script allows limited interaction between the first userand the third user.
 7. The method of claim 5, further comprisingalerting a parent of the first user, based at least in part on acomparison between the control filter associated with the first user andthe activity profiles associated with the second user and the thirduser.
 8. The method of claim 5, further comprising altering an avatarassociated with the third user.
 9. The method of claim 1, furthercomprising: analyzing additional activity history of the second user inthe virtual world; and dynamically updating the activity profile for thesecond user, based on the analyzed additional activity history of thesecond user in the virtual world.
 10. The method of claim 1, wherein theactivity profile for the second user is based in part on a percentage oftime spent performing general activities and a percentage of time spentperforming adult-only activities.
 11. The method of claim 1, wherein theactivity profile for the second user is based in part on a use of vulgarlanguage by the second user.
 12. The method of claim 11, wherein theactivity profile for the second user is further based on a frequency ofthe use of vulgar language by the second user.
 13. A system, comprising:a computer processor; and a memory containing a program that, whenexecuted on the computer processor, performs an operation fordynamically depicting interactions in a virtual world, comprising:receiving one or more content restrictions associated with a first userof the virtual world; analyzing an activity history for a second user inthe virtual world; and selectively blocking interactions between thefirst user and the second user in the virtual world, based at least inpart on the received content restrictions for the first user and theanalyzed activity history for the second user.
 14. The system of claim13, wherein analyzing the activity history comprises assigning a contentrating to one or more activities in the activity history.
 15. The systemof claim 13, the operation further comprising selectively displayingobjects to the first user based at least in part on a comparison betweenthe one or more content restrictions associated with the first user andthe activity profile associated with the second user.
 16. The system ofclaim 15, the operation further comprising selectively displayingobjects to the second user based at least in part on a comparisonbetween the one or more content restrictions associated with the firstuser and the activity profile associated with the second user.
 17. Thesystem of claim 16, the operation further comprising: detecting that athird user is interacting with the virtual world in a mannerinconsistent with the one or more content restrictions associated withthe first user; and associating a busy indicator with the third user.18. The system of claim 17, the operation further comprising alerting aparent of the first user, based at least in part on a comparison betweenthe control filter associated with the first user and the activityprofiles associated with the second user and the third user.
 19. Thesystem of claim 13, the operation further comprising: analyzingadditional activity history of the second user in the virtual world; anddynamically updating the activity profile for the second user, based onthe analyzed additional activity history of the second user in thevirtual world.
 20. A computer program product for dynamically depictinginteractions in a virtual world, comprising: a computer-readable storagemedium having computer readable program code embodied therewith, thecomputer readable program code comprising: computer readable programcode to receive one or more content restrictions associated with a firstuser of the virtual world; computer readable program code to analyze anactivity history for a second user in the virtual world; and computerreadable program code to selectively block interactions between thefirst user and the second user in the virtual world, based at least inpart on the received content restrictions for the first user and theanalyzed activity history for the second user.